<layout name="layout"/>
<load href="__PUBLIC__/{:UIKIT}/css/components/sticky.min.css"/>
<load href="__PUBLIC__/{:UIKIT}/js/components/sticky.min.js"/>
<div class="tm-section-20"></div>

<div class="tm-section-color-1">
<div class="uk-container uk-container-center">
<div class="uk-block uk-contrast uk-block-large">

    <h1 class="uk-article-title">{$cms_title|htmlspecialchars_decode}</h1>

</div>	
</div>
 </div>
 
 <div class="tm-section-20"></div>

 
 <div class="uk-container uk-container-center">
 
<blockquote>
<p><i class="uk-icon-quote-left uk-icon-large uk-align-left"></i>
{$cms_desc}
</p>
</blockquote>
 <div class="tm-section-20"></div> 
 
 <div class="uk-grid">
<div class="uk-width-1-1">
<div data-uk-sticky>
       <!-- This is the nav containing the toggling elements -->
   
<div class="uk-alert" >
    <ul class="uk-breadcrumb">
            <li><a href="#first" data-uk-smooth-scroll >文档说明</a></li>
			 <li><a  href="#second" data-uk-smooth-scroll>准备工作</a></li>
			  <li><a href="#third" data-uk-smooth-scroll>支付接口（直连）</a></li>
			    <li><a href="#third-1" data-uk-smooth-scroll>周期交易接口</a></li>
			   <li><a href="#fourth" data-uk-smooth-scroll>退款接口</a></li>
			   <li><a href="#fourth-2" data-uk-smooth-scroll>取消退款接口</a></li>
			   <li><a href="#fourth-1" data-uk-smooth-scroll>预授权取消接口</a></li>
			    <li><a href="#fifth" data-uk-smooth-scroll>查询接口</a></li>
				 <li><a href="#sixth" data-uk-smooth-scroll>运单号上传接口</a></li>
				<li><a href="#seventh" data-uk-smooth-scroll>货币支持</a></li>
				<li><a href="#eighth" data-uk-smooth-scroll>快递公司支持</a></li>
				<li><a href="#ninth" data-uk-smooth-scroll>附录1.国家代码</a></li>
				<li><a href="#tenth" data-uk-smooth-scroll>附录2.州代码</a></li>
				<li><a href="#tenth-1" data-uk-smooth-scroll>附录3.订单状态代码说明</a></li>
        </ul>
</div>
	
</div>
</div>


<div class="uk-width-1-1">
<p>
<article class="uk-article">
    <h1 id="first" class="uk-article-title">文档说明</h1>
<p>
本文档的提供者为{$Think.lang.web_name}，旨在为使用我们接口的商户集成互联网支付网关提供一个规范。本文档的最终解释权归{$Think.lang.web_name}所有，并保留
随时修改的权利。
</p>	
<p>
使用本文档，您可以实现以下功能：接受网上信用卡支付，查询订单信息，订单退款以及上传物流单号的功能。
</p>
<p>
本文档的使用者为商户的管理员，维护人员及开发人员。
</p>
<p>
如需技术支持，请点击 <a href="{:U('Rpage/contactus')}" target=_blank>这里</a>
</p>

</article>
    <hr class="uk-article-divider">
<article id="second" class="uk-article">
    <h1  class="uk-article-title">准备工作</h1>

<p>
1.你需要通读本文档的所有内容<br>
2.获取接口集成所需要的重要信息，包括mid,site_id,site_key。<br>
<table class="uk-table uk-table-hover uk-table-striped">
<tr><td>mid</td><td>商户ID，商户登录{$Think.lang.web_name}的账户，商户申请账户成功之后，商户ID会和密码一同发送至商户的邮箱当中。</td></tr>
<tr><td>site_id</td><td>网站ID，商户商户分配成功以后，便可以自行登录前台添加希望集成的网站到{$Think.lang.web_name}，一旦添加，系统会自动生成一个site_id,唯一标识该网站。
</td></tr>
<tr><td>site_key</td><td>
网站密钥，同上，添加网站以后，系统也会同时自动生成一串数字和字母组成的密钥，商户可以在我的网站列表页查看，请妥善保存自己的site_key,不要让他人知晓。
</td></tr>
</table>
本文档所有的加密方法都是sha256加密生成哈希值。如不知道如何实现，请自行查找。<br>
3.请确保添加网站之后，网站状态是激活的状态，未激活的网站无法进行交易和测试。如果添加的网站无法通过我们审核部门审核，我们会在第一时间通过邮件等方式
通知商户进行整改。<br>
4.本文涉及的所有网关，均使用标准的HTTPS协议进行数据的传输工作。

</p>

</article>
    <hr class="uk-article-divider">
<article id="third" class="uk-article">
    <h1 class="uk-article-title">支付接口(直连)</h1>
<p class="uk-alert">
生产环境：{$web_config.web_domain}/index.php/Gateway/securepay<br>
测试环境：{$web_config.web_domain}/index.php/Gateway/securepay/mode/sandbox
</p>
<p>
使用本支付接口，商户可以在线接受顾客的信用卡付款。请使用标准的HTTP POST方法将以下列表中的参数提交上到以上网关，
</p>
<p>
需要提交的参数包括以下21个必须数据，分别是：
<table class="uk-table uk-table-hover uk-table-striped">
<thead><tr><th width=100>参数名</th><th width=100>数据类型</th><th width=100>是否必须</th><th>说明</th></tr></thead>
<tbody>
<tr><td>mid</td><td>int</td><td>是</td><td>商户ID，如何获取，请阅读前面准备工作</td></tr>
<tr><td>oid</td><td>string</td><td>是</td><td>商户订单号</td></tr>
<tr><td>site_id</td><td>int</td><td>是</td><td>网站ID，如何获取，请阅读前面准备工作</td></tr>
<tr><td>order_amount</td><td>decimal(12,2)</td><td>是</td><td>订单金额，订单金额格式必须是xx.xx，如果订单金额为整数或者小数点后只有1位，应该在后面补0，
	如订单金额为5，或者5.5，则提交格式必须为5.00，5.50才行
	。订单金额不能小于0.</td></tr>
<tr><td>order_currency</td><td>char(3)</td><td>是</td><td>3位的国际货币代码，如USD，GBP，CNY，具体支持的货币类型，请参照后面的货币支持。</td></tr>
<tr><td>hash_info</td><td>string</td><td>是</td><td>
交易加密哈希字符串，通过sha256算法算出，防止交易信息被篡改。
将商户ID，网站ID，订单ID，订单金额，订单货币，site key6个参数无缝连接，然后使用sha256算法生成哈希值。
<p>
PHP示范代码如下:<br>
$hash_info=hash("sha256",$mid.$site_id.$oid.$order_amount.$order_currency.$site_key);
</p>

</td></tr>

<tr><td>card_no</td><td>number</td><td>是</td><td>信用卡卡号</td></tr>
<tr><td>card_ex_month</td><td>number</td><td>是</td><td>信用卡过期月份,必须是两位数，如08,11分别表示8月和11月</td></tr>
<tr><td>card_ex_year</td><td>number</td><td>是</td><td>信用卡过期年，必须是两位数，取过期年份的后2两位，如18，21分别表示2018年，2021年。</td></tr>
<tr><td>card_cvv</td><td>number</td><td>是</td><td>信用卡CVV，最多不超过4位数字</td></tr>

<tr><td>bill_email</td><td>string</td><td>是</td><td>顾客账单邮件</td></tr>
<tr><td>bill_phone</td><td>string</td><td>是</td><td>顾客账单电话</td></tr>
<tr><td>bill_country</td><td>char(2)</td><td>是</td><td>顾客账单国家，2位数的国际代码，具体请参考附录1.国家代码</td></tr>
<tr><td>bill_state</td><td>string</td><td>是</td><td>顾客账单州，目前，除了美国,加拿大，澳大利亚需要强制使用2位缩略州代码，其他国家无特别要求，如果没有州，可以输入 "--" 代替之。（部分接口要求商家提供日本的州信息。）
州代码数据可以参考附录2：州代码
</td></tr>
<tr><td>bill_city</td><td>string</td><td>是</td><td>顾客账单城市</td></tr>
<tr><td>bill_street</td><td>string</td><td>是</td><td>顾客账单详细街道地址</td></tr>
<tr><td>bill_zip</td><td>string</td><td>是</td><td>顾客账单邮编</td></tr>
<tr><td>bill_firstname</td><td>string</td><td>是</td><td>顾客名</td></tr>
<tr><td>bill_lastname</td><td>string</td><td>是</td><td>顾客姓</td></tr>
<tr><td>syn_url</td><td>string</td><td>是</td><td>同步通知URL，在跳转非直连接口中，该参数用于支付结束后的跳转显示页面，在直连接口中，没有用途。
同步通知地址需要处理的返回数据需要以标准HTTP GET方式接受支付返回数据。
</td></tr>
<tr><td>asyn_url</td><td>string</td><td>是</td><td>异步通知URL，异步通知地址必须是互联网上能够访问的地址，不能是本地地址。异步通知
地址用于解决因网络等问题导致的数据返回延迟，中断，丢失问题。<br>商户的异步通知地址必须使用标准的HTTP POST方式接收支付数据，同时只需要输出"100"到页面即可。
异步通知地址由{$Think.lang.web_name}平台主动调用，过程对于商户并不知晓，平台一旦收到该地址输出"100"信息的时候，就默认商户已经完成订单状态的处理。<br>
平台如果判断商户的异步通知地址没有输出或者返回不是"100"的时候，会每隔10分钟通知一次，最多通知三次。
</td></tr>
<tr><td>source_ip</td><td>string</td><td>是</td><td>客户端的IP地址</td></tr>
</tbody>

</table>
<p>直连接口的交易处理结果会以JSON格式直接返回到发起请求的网关地址。如下：</p>
<p>
如果交易被拦截，返回的数据类似于：<br>
<pre>
<code>
	{
	    "status": 0,
	    "data": 10018,
	    "info": "Billing street cannot be NULL"
	}
</code>	
</pre>

如果交易失败，则返回的数据类似于：<br>
<pre>
<code>
{
    "status": 1,
    "info": "payment declined",
    "data": 
    {
        "order_status": 6,
        "oid": "1",
        "pid": 2879,
        "order_amount": "1.00",
        "order_currency": "USD",
        "hash_info": "be17b8c545f13cddca1dd7ed05defb93",
        "syn_url": "http%3A%2F%2Fwww.baidu.com"
    }

}
</code>	
</pre>

如果交易成功，返回的数据类似于：<br>
<pre>
<code>
{
    "status": 1,
    "info": "payment success",
    "data": 
    {
        "order_status": 2,
        "oid": "1",
        "pid": 2879,
        "order_amount": "1.00",
        "order_currency": "USD",
        "hash_info": "be17b8c545f13cddca1dd7ed05defb93",
        "syn_url": "http%3A%2F%2Fwww.baidu.com"
    }

}
</code>	
</pre>

如果交易异常，返回的数据类似于：<br>
<pre>
<code>
{
    "status": 1,
    "info": "processing,please wait...",
    "data": 
    {
        "order_status": 1,
        "oid": "1",
        "pid": 2879,
        "order_amount": "1.00",
        "order_currency": "USD",
        "hash_info": "be17b8c545f13cddca1dd7ed05defb93",
        "syn_url": "http%3A%2F%2Fwww.baidu.com"
    }

}
</code>	
</pre>

如果交易预授权成功（仅针对预授权交易），返回的数据类似于：<br>
<pre>
<code>
{
    "status": 1,
    "info": "authorized success",
    "data": 
    {
        "order_status": 3,
        "oid": "1",
        "pid": 2879,
        "order_amount": "1.00",
        "order_currency": "USD",
        "hash_info": "be17b8c545f13cddca1dd7ed05defb93",
        "syn_url": "http%3A%2F%2Fwww.baidu.com"
    }

}
</code>	
</pre>	
</p>

<p>
	总而言之，当返回的JSON中，status的值为0时，表明该交易被系统拦截。其中data部分是拦截的代码，info部分是拦截的说明。系统拦截交易数据的原因有很多，
	如提交的数据中有空值，邮箱格式不正确，黑名单，交易次数限制等等，需要根据具体情况来分析，交易一旦被拦截，这个时候，平台后台是无法找到相应的记录的，可通过提交拦截代码，或
	拦截说明给平台技术支持来寻求帮助。
</p>	
<p>
	如果返回的JSON中，status的值为1，表明该笔交易已经进入系统，可根据data中的order_status的值来判断该笔交易的支付状态。目前，平台支持的返回状态值包括以下4种，分别是：
	<dl class="uk-description-list-horizontal">
    <dt>1=>{:order_status(1,true)}</dt>
    <dd>表明该笔交易虽然已经提交，但是没有收到银行的返回，或者是银行返回的信息中不包括有效的支付状态说明，需要继续等待状态延迟变更。</dd>
	<dt>6=>{:order_status(6,true)}</dt>
	<dd>表明该笔交易已经失败,info字段会提供该笔交易失败的银行返回原因。</dd>
	<dt>2=>{:order_status(2,true)}</dt>
	<dd>表明该笔交易支付成功。</dd>
	<dt>3=>{:order_status(3,true)}</dt>
	<dd>表明该笔交易预授权成功。</dd>	
</dl>
	
	此时，其他参数表示的意思分别如下，<br>
	<dl class="uk-description-list-horizontal">
	<dt>oid</dt>
	<dd>商户提交的订单号</dd>
	<dt>pid</dt>
	<dd> {$Think.lang.web_name}平台生成的唯一查询订单号，请妥善保管好该订单号，后面的其他接口需要该信息</dd>
	<dt>order_amount</dt>
	<dd>商户提交交易数据时的订单金额</dd>
	<dt>order_currency</dt>
	<dd>商户提交交易数据的是订单货币</dd>
	<dt>hash_info</dt>
	<dd>此哈希值为提交订单数据后的原样返回，开发者可以通过比对该值，确定交易数据是否有效。</dd>
	<dt>syn_url</dt>
	<dd>商户提交数据时的同步通知URL</dd>
</dl>	
	
</p>
<p>
<div class="uk-alert uk-alert-primary">
示例代码（PHP）
</div>
<pre>
<code>

	//encrypted the sensitive data
	$hash_info=hash("sha256",$params['merchantid'].$params['siteid'].
	$params['invoiceid'].$params['amount'].$params['currency'].$site_key);
    
	
	
	$curlPost="order_amount=".$params['amount'];
	$curlPost.="&order_currency=".$params['currency'];
	$curlPost.="&mid=".$params['merchantid'];//商户ID
	$curlPost.="&site_id=".$params['siteid'];//网站ID
	$curlPost.="&oid=".$params['invoiceid'];//订单ID
	$curlPost.="&hash_info=".$hash_info;
	
	$curlPost.="&card_no=".$params["card_number"]; //信用卡卡号
	$curlPost.="&card_ex_year=".$params["expiry_year"];//信用卡过期年
	$curlPost.="&card_ex_month=".$params["expiry_month"];//信用卡过期月
	$curlPost.="&card_cvv=".$params["cvv"];//信用卡CVV
	
	$curlPost.='&bill_firstname='.$params['firstname'];
	$curlPost.='&bill_lastname='.$params['lastname'];
	$curlPost.='&bill_street='.$params['address1'];
	$curlPost.='&bill_city='.$params['city'];
	$curlPost.='&bill_state='.$params['state'];
	$curlPost.='&bill_country='.$params['country'];
	$curlPost.='&bill_zip='.$params['postcode'];
	$curlPost.='&bill_phone='.$params['phonenumber'];
	$curlPost.='&bill_email='.$params['email'];
	
	$curlPost.='&syn_url='.$params['syn_url'];
	$curlPost.='&asyn_url='.$params['asyn_url'];
	
	$curlPost.='&source_ip='.$params['client_ip']; //来源IP地址

	$ch = curl_init();
	curl_setopt($ch, CURLOPT_URL, $gateway_url);
    curl_setopt($ch, CURLOPT_REFERER, $_SERVER["HTTP_REFERER"]);   //source url
	curl_setopt($ch,CURLOPT_POST,1);
	curl_setopt($ch,CURLOPT_POSTFIELDS,$curlPost);
	curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
	curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
	$response = curl_exec($ch);
	curl_close($ch);
	
	//process $response
	$transaction = json_decode($response,true);
</code>
</pre>
以上代码，仅供参考。


</p>

	
</p>

</article>

    <hr class="uk-article-divider">
<article id="third-1" class="uk-article">
    <h1  class="uk-article-title">周期交易接口</h1>

	<div class="uk-alert">
	周期交易接口网关：{$web_config.web_domain}/index.php/Gateway/rebilling
	</div>
	使用周期交易接口网关，用户可以无需提交信用卡等敏感数据而直接支付。本网关接受5个参数，必须使用标准的HTTP GET方法提交以下参数，他们分别是：
<p>
<table class="uk-table uk-table-hover uk-table-striped">
<thead><tr><th width=100>参数名</th><th width=100>数据类型</th><th width=100>是否必须</th><th>说明</th></tr></thead>
<tbody>
<tr><td>pid</td><td>int</td><td>是</td><td>{$Think.lang.web_name}平台之前发生的订单的流水号，该订单必须是成功或处于退款状态的交易</td></tr>
<tr><td>oid</td><td>string</td><td>是</td><td>商户端的订单号</td></tr>	
<tr><td>order_amount</td><td>decimal(12,2)</td><td>是</td><td>订单金额，订单金额格式必须是xx.xx，如果订单金额为整数或者小数点后只有1位，应该在后面补0，
	如订单金额为5，或者5.5，则提交格式必须为5.00，5.50才行
	。订单金额不能小于0.</td></tr>
<tr><td>order_currency</td><td>char(3)</td><td>是</td><td>3位的国际货币代码，如USD，GBP，CNY，具体支持的货币类型，请参照后面的货币支持。</td></tr>
<tr><td>hash_info</td><td>string</td><td>是</td><td>
退款接口加密验证信息，使用sha256加密方法，将上面4个参数连同site_key无缝连接之后的字符串加密。<br>
$pid.$oid.$order_amount.$order_currency.$site_key，site_key为该笔交易的产生网站密钥。
PHP示例方法：$hash_info=hash("sha256",$pid.$oid.$order_amount.$order_currency.$site_key);
</td></tr>	
</tbody>
</table>	
	</p>
<p>
本接口在收到周期交易的请求后，会返回JSON格式的数据到发起请求的地址告知请求结果。本接口的返回结果与支付接口(直连)返回的结果一致.
</p>
<div class="uk-alert uk-alert-warning">
<ul>
<li>pid参数为平台的流水号，非商家提交的订单号。</li>
<li>只有在平台成功或者退款的交易，才可以提交周期订单。</li>
<li>我们根据商户提交的pid，使用该笔交易的交易信用卡来完成本次支付。</li>
</ul>
</div>
</article>


    <hr class="uk-article-divider">
<article id="fourth" class="uk-article">
    <h1  class="uk-article-title">退款接口</h1>

	<div class="uk-alert">
	退款接口网关：{$web_config.web_domain}/index.php/Openapi/Orders/refund
	</div>
	使用退款网关接口，用户可以交易成功的订单进行退款处理。本网关接受5个参数，必须使用标准的HTTP GET方法提交以下参数，他们分别是：
<p>
<table class="uk-table uk-table-hover uk-table-striped">
<thead><tr><th width=100>参数名</th><th width=100>数据类型</th><th width=100>是否必须</th><th>说明</th></tr></thead>
<tbody>
<tr><td>mid</td><td>int</td><td>是</td><td>{$Think.lang.web_name}平台的商户号，即商户用于登录使用ID</td></tr>
<tr><td>site_id</td><td>int</td><td>是</td><td>{$Think.lang.web_name}平台的网站号,即该笔交易产生的网站ID</td></tr>
<tr><td>oid</td><td>int</td><td>是</td><td>{$Think.lang.web_name}平台的订单号，即支付接口中返回参数中的pid,非商户订单ID</td></tr>	
<tr><td>refund_amount</td><td>decimal(12,2)</td><td>是</td><td>退款的金额，格式必须为xx.xx，如果金额为整数，或小数点只有1位，需补0至小数点后两位。
如5，5.1，应该提交为5.00，5.10，退款金额不能小于0，且不能大于订单本身的金额，否则退款操作无效。
</td></tr>	
<tr><td>hash_info</td><td>string</td><td>是</td><td>
退款接口加密验证信息，使用sha256加密方法，将上面4个参数连同site_key无缝连接之后的字符串加密。<br>
$mid.$site_id.$oid.$refund_amount.$site_key，site_key为该笔交易的产生网站密钥。
PHP示例方法：$hash_info=hash("sha256",$mid.$site_id.$oid.$refund_amount.$site_key);
</td></tr>	
</tbody>
</table>	
	</p>
<p>
本接口在收到退款请求后，会返回JSON格式的数据到发起请求的地址告知退款请求结果。返回参考代码如下：
</p>
如果退款失败，则返回数据类似于：	
<pre>
<code>
{
    "status": 0,
    "info": "invalid refund amount"
}
</code>
</pre>
如退款成功，则返回数据为：
<pre>
<code>
{
    "status": 1,
    "info": "refund request successfully sent"
}
</code>
</pre>
根据返回json中status的值，即可判断退款请求是否发送成功，如果status为0，则退款请求失败，info字段会显示退款失败的原因。
<br>
如果status为1，则说明退款请求成功，这个时候，该笔订单在平台将以{:order_status(7,true)}状态显示，12个小时内，系统会自动处理该笔退款请求。
	
</article>

    <hr class="uk-article-divider">
<article id="fourth-2" class="uk-article">
    <h1  class="uk-article-title">取消退款接口</h1>

	<div class="uk-alert">
	取消退款接口网关：{$web_config.web_domain}/index.php/Openapi/Orders/cancelRefund
	</div>
	使用取消退款网关接口，用户可以对等待退款状态的订单进行取消退款处理。本网关接受4个参数，必须使用标准的HTTP GET方法提交以下参数，他们分别是：
<p>
<table class="uk-table uk-table-hover uk-table-striped">
<thead><tr><th width=100>参数名</th><th width=100>数据类型</th><th width=100>是否必须</th><th>说明</th></tr></thead>
<tbody>
<tr><td>mid</td><td>int</td><td>是</td><td>{$Think.lang.web_name}平台的商户号，即商户用于登录使用ID</td></tr>
<tr><td>site_id</td><td>int</td><td>是</td><td>{$Think.lang.web_name}平台的网站号,即该笔交易产生的网站ID</td></tr>
<tr><td>oid</td><td>int</td><td>是</td><td>{$Think.lang.web_name}平台的订单号，即支付接口中返回参数中的pid,非商户订单ID</td></tr>	
<tr><td>hash_info</td><td>string</td><td>是</td><td>
退款接口加密验证信息，使用sha256加密方法，将上面4个参数连同site_key无缝连接之后的字符串加密。<br>
$mid.$site_id.$oid.$site_key，site_key为该笔交易的产生网站密钥。
PHP示例方法：$hash_info=hash("sha256",$mid.$site_id.$oid.$site_key);
</td></tr>	
</tbody>
</table>	
	</p>
<p>
本接口在收到取消退款的请求后，会返回JSON格式的数据到发起请求的地址告知请求结果。返回参考代码如下：
</p>
如果取消退款失败，则返回数据类似于：	
<pre>
<code>
{
    "status": 0,
    "info": "invalid order status"
}
</code>
</pre>
如取消退款成功，则返回数据为：
<pre>
<code>
{
    "status": 1,
    "info": "cancel refund request successfully sent"
}
</code>
</pre>
根据返回json中status的值，即可判断退款请求是否发送成功，如果status为0，则退款请求失败，info字段会显示取消退款失败的原因。
<br>
如果status为1，则说明取消退款请求成功，这个时候，该笔订单在平台将以{:order_status(2,true)}或者{:order_status(4,true)}状态显示。
	
</article>


    <hr class="uk-article-divider">
<article id="fourth-1" class="uk-article">
    <h1  class="uk-article-title">预授权取消接口</h1>
<p>
<div class="uk-alert">
预取消接口网关：{$web_config.web_domain}/index.php/Openapi/Orders/void
</div>
使用该接口，用户可以对一笔预授权成功的交易进行取消，防止该交易被自动捕捉成功。<br>
本接口接收4个参数，请使用标准HTTP GET方法将这些参数提交到以上网关。提交的参数说明如下：
<p>
<table class="uk-table uk-table-hover uk-table-striped">
<thead><tr><th width=100>参数名</th><th width=100>数据类型</th><th width=100>是否必须</th><th>说明</th></tr></thead>
<tbody>
<tr><td>mid</td><td>int</td><td>是</td><td>{$Think.lang.web_name}平台的商户号，即商户用于登录使用ID</td></tr>
<tr><td>site_id</td><td>int</td><td>是</td><td>{$Think.lang.web_name}平台的网站号,即该笔交易产生的网站ID</td></tr>
<tr><td>oid</td><td>int</td><td>是</td><td>{$Think.lang.web_name}平台的订单号，即支付接口中返回参数中的pid,非商户订单ID</td></tr>	
<tr><td>hash_info</td><td>string</td><td>是</td><td>
预授权取消接口加密验证信息，使用sha256加密方法，将上面3个参数连同site_key无缝连接之后的字符串加密。<br>
$mid.$site_id.$oid.$site_key，site_key为该笔交易的产生网站密钥。
PHP示例方法：$hash_info=hash("sha256",$mid.$site_id.$oid.$site_key);
</td></tr>	
</tbody>
</table>	
</p>
<p>
本接口在收到预授权取消请求后，会以JSON格式返回是否取消成功的信息到发起请求的地址。返回参考代码如下：
</p>
如果交易取消失败，返回的代码类似于:
<pre>
<code>
{
    "status": 0,
    "info": "transaction not found"
}
</code>
</pre>
如果交易取消成功，则返回的代码为：
<pre>
<code>
{
    "status": 1,
    "info": "voided successfully"
}
</code>
</pre>
即根据返回JSON中status的值判断是否取消成功，为0的时候表示取消交易失败，info字段为失败的原因。<br>
为1表示交易取消成功！<br>
<div class="uk-alert uk-alert-warning">
只有预授权交易才需要调用此接口。
</div>


</p>
</article>
    <hr class="uk-article-divider">
	
<article id="fifth" class="uk-article">
    <h1  class="uk-article-title">查询接口</h1>
	<div class="uk-alert">
	查询接口网关：{$web_config.web_domain}/index.php/Openapi/Orders/getInfo
	</div>
<p>
查询接口允许用户查询某笔交易的一些基础信息，如订单号，金额，账单地址，交易状态，汇率，记账金额等。
</p>
<p>
查询接口接收4个参数，用户需要使用标准HTTP GET方法将这些参数提交到以上网关。
提交的参数说明如下：
<p>
<table class="uk-table uk-table-hover uk-table-striped">
<thead><tr><th width=100>参数名</th><th width=100>数据类型</th><th width=100>是否必须</th><th>说明</th></tr></thead>
<tbody>
<tr><td>mid</td><td>int</td><td>是</td><td>{$Think.lang.web_name}平台的商户号，即商户用于登录使用ID</td></tr>
<tr><td>site_id</td><td>int</td><td>是</td><td>{$Think.lang.web_name}平台的网站号,即该笔交易产生的网站ID</td></tr>
<tr><td>oid</td><td>int</td><td>是</td><td>{$Think.lang.web_name}平台的订单号，即支付接口中返回参数中的pid,非商户订单ID</td></tr>	
<tr><td>hash_info</td><td>string</td><td>是</td><td>
退款接口加密验证信息，使用sha256加密方法，将上面4个参数连同site_key无缝连接之后的字符串加密。<br>
$mid.$site_id.$oid.$site_key，site_key为该笔交易的产生网站密钥。
PHP示例方法：$hash_info=hash("sha256",$mid.$site_id.$oid.$site_key);
</td></tr>	
</tbody>
</table>	
</p>
<p>
 本接口在收到查询请求后，会以JSON格式返回是否取消成功及订单的基础信息到发起请求的地址。返回参考代码如下：
</p>
 如果交易查询失败，返回的代码类似于:
<pre><code>
{
    "status": 0,
    "info": "transaction not found"
}</code></pre>
如果交易查询成功，则返回的代码为：
<pre><code>
{

    "status": 1,
    "info": "success",
    "data": 
    {
        "order_id": 3,
        "merchant_oid": "3",
        "order_time": "2014-12-10 11:18:24",
        "order_status": 1,
        "order_amount": "1.00",
        "order_currency": "USD",
        "card_type": "visa",
        "order_site": "http://www.test.com",
        "billing_descriptor": "test",
        "billing_email": "test@test.com",
        "billing_country": "US",
        "billing_state": "CA",
        "billing_city": "test",
        "billing_street": "test",
        "billing_phone": "18888888888",
        "process_mode": "sales"
    }

}
</code></pre>
即根据返回JSON中status的值判断是否查询成功，为0的时候表示查询失败，info字段为失败的原因。
为1表示查询成功，可以通过data字段获得需要的订单信息！其中order_status中的订单状态代码的意思，可以参考附录3的订单状态代码说明。

</p>

</article>
    <hr class="uk-article-divider">
	
<article id="sixth" class="uk-article">
    <h1  class="uk-article-title">运单号上传接口</h1>
<div class="uk-alert">
运单号上传接口网关：{$web_config.web_domain}/index.php/Openapi/Tracking/upload
</div>
<p>
使用本接口，用户可以无需登录前台，直接将运单号上传至对应的订单。
</p>
<p>
运单号上传接口接收4个参数，分别是订单号，货运公司ID，物流单号,hash_info。顾客需要使用标准的HTTP GET方法将此四个参数提交至上面的网关。
提交的参数说明如下：
<p>
<table class="uk-table uk-table-hover uk-table-striped">
<thead><tr><th width=100>参数名</th><th width=100>数据类型</th><th width=100>是否必须</th><th>说明</th></tr></thead>
<tbody>
<tr><td>mid</td><td>int</td><td>是</td><td>{$Think.lang.web_name}平台的商户号，即商户用于登录使用ID</td></tr>
<tr><td>site_id</td><td>int</td><td>是</td><td>{$Think.lang.web_name}平台的网站号,即该笔交易产生的网站ID</td></tr>
<tr><td>oid</td><td>int</td><td>是</td><td>{$Think.lang.web_name}平台的订单号，即支付接口中返回参数中的pid,非商户订单ID</td></tr>
<tr><td>track_company</td><td>string</td><td>是</td><td>
平台支持的货运公司名，请参考后面的”快递公司支持“，只有被平台列出的快递公司才可使用该接口来上传运单号。如果您使用的物流公司不再列表中，
请联系我们商户服务支持添加。
</td></tr>
<tr><td>track_number</td><td>string</td><td>是</td><td>运单号</td></tr>	
<tr><td>hash_info</td><td>string</td><td>是</td><td>
退款接口加密验证信息，使用sha256加密方法，将上面5个参数连同site_key无缝连接之后的字符串加密。<br>
$mid.$site_id.$oid.$track_company.$track_number.$site_key，site_key为该笔交易的产生网站密钥。
PHP示例方法：$hash_info=hash("sha256",$mid.$site_id.$oid.$track_company.$track_number.$site_key);
</td></tr>	
</tbody>
</table>	
</p>
<p>
 本接口在收到上传运单号请求后，会以JSON格式返回是否上传成功的信息到发起请求的地址。返回参考代码如下：
</p>
如果上传运单号失败，返回的代码类似于:
<pre>
<code>
{
    "status": 0,
    "info": "transaction not found"
}
</code>
</pre>
如果上传运单号成功，则返回的代码为：
<pre>
<code>
{
    "status": 1,
    "info": "tracking uploaded"
}
</code>
</pre>
即根据返回JSON中status的值判断是否上传成功，为0的时候表示上传运单号失败，info字段为失败的原因。<br>
为1表示交易取消成功！<br>
<div class="uk-alert uk-alert-warning">
1.只有被系统支持的快递公司并且使用对应的名称，才能上传成功<br>
2.接口对于多次上传运单号，以最后一次上传为准，前面的上传结果会被覆盖。
</div>

</p>

</article>
<hr class="uk-article-divider">

<article id="seventh" class="uk-article">
    <h1  class="uk-article-title">货币支持</h1>
<p>
这里列举的是目前系统所支持的所有支付货币及其代码。
</p>
<table class="uk-table uk-table-hover uk-table-striped">
<thead><tr><th width=100>货币代码</th><th>说明</th></tr></thead>
<tbody>
<volist name=":getObjectList('exchange')" id="vo">
<tr><td>{$vo.ex_currency_name}</td><td>{$vo.ex_currency_mark}</td></tr>
</volist>
</tbody>
</table>

</article>
<hr class="uk-article-divider">

<article id="eighth" class="uk-article">
    <h1  class="uk-article-title">快递公司支持</h1>
<p>
这里列举的是目前系统支持的所有快递公司及对应ID号。
</p>
<table class="uk-table uk-table-hover uk-table-striped">
<thead><tr><th>公司名</th><th>网址</th></tr></thead>
<tbody>
<volist name=":getObjectList('tracking')" id="vo">
<tr><td>{$vo.tk_company}</td><td>{$vo.tk_url}</td></tr>
</volist>
</tbody>
</table>
<div class="uk-alert uk-alert-warning">
要使用运单号上传接口，必须使用此处提供的快递公司名。
</div>
</article>
<hr class="uk-article-divider">

<article id="ninth" class="uk-article">
    <h1  class="uk-article-title">附录1.国家代码</h1>
<p>
平台网关支持的所有国家代码，提交的国家使用ISO2code即可。
</p>
<table class="uk-table uk-table-hover uk-table-striped">
<thead>
<tr><th>ISO 2CODE</th><th>Country</th><th>ISO 2CODE</th><th>Country</th></tr>
</thead>
<tr><td>AC</td><td>Ascension Island</td><td>LA</td><td>Laos</td></tr>
<tr><td>AD</td><td>Andorra</td><td>LB</td><td>Lebanon</td></tr>
<tr><td>AE</td><td>United Arab Emirates</td><td>LC</td><td>Saint Lucia</td></tr>
<tr><td>AF</td><td>Afghanistan</td><td>LI</td><td>Liechtenstein</td></tr>
<tr><td>AG</td><td>Antigua and Barbuda</td><td>LK</td><td>Sri Lanka</td></tr>
<tr><td>AI</td><td>Anguilla</td><td>LR</td><td>Liberia</td></tr>
<tr><td>AL</td><td>Albania</td><td>LS</td><td>Lesotho</td></tr>
<tr><td>AM</td><td>Armenia</td><td>LT</td><td>Lithuania</td></tr>
<tr><td>AN</td><td>Netherlands Antilles</td><td>LU</td><td>Luxembourg</td></tr>
<tr><td>AO</td><td>Angola</td><td>LV</td><td>Latvia</td></tr>
<tr><td>AQ</td><td>Antarctica</td><td>LY</td><td>Libya</td></tr>
<tr><td>AR</td><td>Argentina</td><td>MA</td><td>Morocco</td></tr>
<tr><td>AS</td><td>American Samoa</td><td>MC</td><td>Monaco</td></tr>
<tr><td>AT</td><td>Austria</td><td>MD</td><td>Moldova</td></tr>
<tr><td>AU</td><td>Australia</td><td>ME</td><td>Montenegro</td></tr>
<tr><td>AW</td><td>Aruba</td><td>MG</td><td>Madagascar</td></tr>
<tr><td>AZ</td><td>Azerbaijan</td><td>MH</td><td>Marshall Islands</td></tr>
<tr><td>BA</td><td>Bosnia and Herzegovina</td><td>MK</td><td>Macedonia</td></tr>
<tr><td>BB</td><td>Barbados</td><td>ML</td><td>Mali</td></tr>
<tr><td>BD</td><td>Bangladesh</td><td>MM</td><td>Myanmar</td></tr>
<tr><td>BE</td><td>Belgium</td><td>MN</td><td>Mongolia</td></tr>
<tr><td>BF</td><td>Burkina Faso</td><td>MO</td><td>Macau</td></tr>
<tr><td>BG</td><td>Bulgaria</td><td>MP</td><td>Northern Mariana Islands</td></tr>
<tr><td>BH</td><td>Bahrain</td><td>MQ</td><td>Martinique</td></tr>
<tr><td>BI</td><td>Burundi</td><td>MR</td><td>Mauritania</td></tr>
<tr><td>BJ</td><td>Benin</td><td>MS</td><td>Montserrat</td></tr>
<tr><td>BM</td><td>Bermuda</td><td>MT</td><td>Malta</td></tr>
<tr><td>BN</td><td>Brunei Darussalam</td><td>MU</td><td>Mauritius</td></tr>
<tr><td>BO</td><td>Bolivia</td><td>MV</td><td>Maldives</td></tr>
<tr><td>BR</td><td>Brazil</td><td>MW</td><td>Malawi</td></tr>
<tr><td>BS</td><td>Bahamas</td><td>MX</td><td>Mexico</td></tr>
<tr><td>BT</td><td>Bhutan</td><td>MY</td><td>Malaysia</td></tr>
<tr><td>BV</td><td>Bouvet Island</td><td>MZ</td><td>Mozambique</td></tr>
<tr><td>BW</td><td>Botswana</td><td>NA</td><td>Namibia</td></tr>
<tr><td>BY</td><td>Belarus</td><td>NC</td><td>New Caledonia</td></tr>
<tr><td>BZ</td><td>Belize</td><td>NE</td><td>Niger</td></tr>
<tr><td>CA</td><td>Canada</td><td>NF</td><td>Norfolk Island</td></tr>
<tr><td>CC</td><td>Cocos (Keeling Islands)</td><td>NG</td><td>Nigeria</td></tr>
<tr><td>CF</td><td>Central African Republic</td><td>NI</td><td>Nicaragua</td></tr>
<tr><td>CG</td><td>Congo</td><td>NL</td><td>Netherlands, The</td></tr>
<tr><td>CH</td><td>Switzerland</td><td>NO</td><td>Norway</td></tr>
<tr><td>CI</td><td>Cote D'Ivoire (Ivory Coast)</td><td>NP</td><td>Nepal</td></tr>
<tr><td>CK</td><td>Cook Islands</td><td>NR</td><td>Nauru</td></tr>
<tr><td>CL</td><td>Chile</td><td>NU</td><td>Niue</td></tr>
<tr><td>CM</td><td>Cameroon</td><td>NZ</td><td>New Zealand</td></tr>
<tr><td>CN</td><td>China</td><td>OM</td><td>Oman</td></tr>
<tr><td>CO</td><td>Colombia</td><td>PA</td><td>Panama</td></tr>
<tr><td>CR</td><td>Costa Rica</td><td>PE</td><td>Peru</td></tr>
<tr><td>CU</td><td>Cuba</td><td>PF</td><td>French Polynesia</td></tr>
<tr><td>CV</td><td>Cape Verde</td><td>PG</td><td>Papua New Guinea</td></tr>
<tr><td>CX</td><td>Christmas Island</td><td>PH</td><td>Philippines</td></tr>
<tr><td>CY</td><td>Cyprus</td><td>PK</td><td>Pakistan</td></tr>
<tr><td>CZ</td><td>Czech Republic</td><td>PL</td><td>Poland</td></tr>
<tr><td>DE</td><td>Germany</td><td>PM</td><td>St. Pierre and Miquelon</td></tr>
<tr><td>DJ</td><td>Djibouti</td><td>PN</td><td>Pitcairn</td></tr>
<tr><td>DK</td><td>Denmark</td><td>PR</td><td>Puerto Rico</td></tr>
<tr><td>DM</td><td>Dominica</td><td>PT</td><td>Portugal</td></tr>
<tr><td>DO</td><td>Dominican Republic</td><td>PW</td><td>Palau</td></tr>
<tr><td>DZ</td><td>Algeria</td><td>PY</td><td>Paraguay</td></tr>
<tr><td>EC</td><td>Ecuador</td><td>QA</td><td>Qatar</td></tr>
<tr><td>EE</td><td>Estonia</td><td>RE</td><td>Reunion</td></tr>
<tr><td>EG</td><td>Egypt</td><td>RO</td><td>Romania</td></tr>
<tr><td>EH</td><td>Western Sahara</td><td>RS</td><td>Serbia</td></tr>
<tr><td>ER</td><td>Eritrea</td><td>RU</td><td>Russian Federation</td></tr>
<tr><td>ES</td><td>Spain</td><td>RW</td><td>Rwanda</td></tr>
<tr><td>ET</td><td>Ethiopia</td><td>SA</td><td>Saudi Arabia</td></tr>
<tr><td>FI</td><td>Finland</td><td>SB</td><td>Solomon Islands</td></tr>
<tr><td>FJ</td><td>Fiji</td><td>SC</td><td>Seychelles</td></tr>
<tr><td>FK</td><td>Falkland Islands (Malvinas)</td><td>SD</td><td>Sudan</td></tr>
<tr><td>FM</td><td>Micronesia</td><td>SE</td><td>Sweden</td></tr>
<tr><td>FO</td><td>Faroe Islands</td><td>SG</td><td>Singapore</td></tr>
<tr><td>FR</td><td>France</td><td>SH</td><td>St. Helena</td></tr>
<tr><td>FX</td><td>France, Metropolitan</td><td>SI</td><td>Slovenia</td></tr>
<tr><td>GA</td><td>Gabon</td><td>SJ</td><td>Svalbard and Jan Mayen Islands</td></tr>
<tr><td>GD</td><td>Grenada</td><td>SK</td><td>Slovak Republic</td></tr>
<tr><td>GE</td><td>Georgia</td><td>SL</td><td>Sierra Leone</td></tr>
<tr><td>GF</td><td>French Guiana</td><td>SM</td><td>San Marino</td></tr>
<tr><td>GG</td><td>Guernsey</td><td>SN</td><td>Senegal</td></tr>
<tr><td>GH</td><td>Ghana</td><td>SO</td><td>Somalia</td></tr>
<tr><td>GI</td><td>Gibraltar</td><td>SR</td><td>Suriname</td></tr>
<tr><td>GL</td><td>Greenland</td><td>ST</td><td>Sao Tome and Principe</td></tr>
<tr><td>GM</td><td>Gambia</td><td>SV</td><td>El Salvador</td></tr>
<tr><td>GN</td><td>Guinea</td><td>SY</td><td>Syria</td></tr>
<tr><td>GP</td><td>Guadeloupe</td><td>SZ</td><td>Swaziland</td></tr>
<tr><td>GQ</td><td>Equatorial Guinea</td><td>TC</td><td>Turks and Caicos Islands</td></tr>
<tr><td>GR</td><td>Greece</td><td>TD</td><td>Chad</td></tr>
<tr><td>GS</td><td>S. Georgia and S. Sandwich Isls.</td><td>TF</td><td>French Southern Territories</td></tr>
<tr><td>GT</td><td>Guatemala</td><td>TG</td><td>Togo</td></tr>
<tr><td>GU</td><td>Guam</td><td>TH</td><td>Thailand</td></tr>
<tr><td>GW</td><td>Guinea-Bissau</td><td>TJ</td><td>Tajikistan</td></tr>
<tr><td>GY</td><td>Guyana</td><td>TK</td><td>Tokelau</td></tr>
<tr><td>HK</td><td>Hong Kong</td><td>TM</td><td>Turkmenistan</td></tr>
<tr><td>HM</td><td>Heard and McDonald Islands</td><td>TN</td><td>Tunisia</td></tr>
<tr><td>HN</td><td>Honduras</td><td>TO</td><td>Tonga</td></tr>
<tr><td>HR</td><td>Croatia (Hrvatska)</td><td>TP</td><td>East Timor</td></tr>
<tr><td>HT</td><td>Haiti</td><td>TR</td><td>Turkey</td></tr>
<tr><td>HU</td><td>Hungary</td><td>TT</td><td>Trinidad and Tobago</td></tr>
<tr><td>ID</td><td>Indonesia</td><td>TV</td><td>Tuvalu</td></tr>
<tr><td>IE</td><td>Ireland</td><td>TW</td><td>Taiwan</td></tr>
<tr><td>IL</td><td>Israel</td><td>TZ</td><td>Tanzania</td></tr>
<tr><td>IM</td><td>Isle of Man</td><td>UA</td><td>Ukraine</td></tr>
<tr><td>IN</td><td>India</td><td>UG</td><td>Uganda</td></tr>
<tr><td>IO</td><td>British Indian Ocean Territory</td><td>UK</td><td>United Kingdom</td></tr>
<tr><td>IQ</td><td>Iraq</td><td>UM</td><td>US Minor Outlying Islands</td></tr>
<tr><td>IR</td><td>Iran</td><td>US</td><td>United States</td></tr>
<tr><td>IS</td><td>Iceland</td><td>UY</td><td>Uruguay</td></tr>
<tr><td>IT</td><td>Italy</td><td>UZ</td><td>Uzbekistan</td></tr>
<tr><td>JE</td><td>Jersey</td><td>VA</td><td>Vatican City State (Holy See)</td></tr>
<tr><td>JM</td><td>Jamaica</td><td>VC</td><td>Saint Vincent and The Grenadines</td></tr>
<tr><td>JO</td><td>Jordan</td><td>VE</td><td>Venezuela</td></tr>
<tr><td>JP</td><td>Japan</td><td>VG</td><td>Virgin Islands (British)</td></tr>
<tr><td>KE</td><td>Kenya</td><td>VI</td><td>Virgin Islands (US)</td></tr>
<tr><td>KG</td><td>Kyrgyzstan</td><td>VN</td><td>Viet Nam</td></tr>
<tr><td>KH</td><td>Cambodia</td><td>VU</td><td>Vanuatu</td></tr>
<tr><td>KI</td><td>Kiribati</td><td>WF</td><td>Wallis and Futuna Islands</td></tr>
<tr><td>KM</td><td>Comoros</td><td>WS</td><td>Samoa</td></tr>
<tr><td>KN</td><td>Saint Kitts and Nevis</td><td>YE</td><td>Yemen</td></tr>
<tr><td>KP</td><td>Korea (North)</td><td>YT</td><td>Mayotte</td></tr>
<tr><td>KR</td><td>Korea (South)</td><td>ZA</td><td>South Africa</td></tr>
<tr><td>KW</td><td>Kuwait</td><td>ZM</td><td>Zambia</td></tr>
<tr><td>KY</td><td>Cayman Islands</td><td>ZR</td><td>Zaire</td></tr>
<tr><td>KZ</td><td>Kazakhstan</td><td>ZW</td><td>Zimbabwe</td></tr>
</table>
</article>
<hr class="uk-article-divider">

<article id="tenth" class="uk-article">
    <h1  class="uk-article-title">附录2.州代码</h1>
<p>
ISO 2位州代码,仅针对美国，加拿大，澳大利亚。部分接口需要支持日本。
</p>
<p>
<table class="uk-table uk-table-hover uk-table-striped">
<thead>
<tr>
<th>国家代码</th>
<th>州代码</th>
<th>州全称</th>
</tr>
</thead>
<tr><td>US</td><td>AL</td><td>Alabama</td></tr>
<tr><td>US</td><td>AK</td><td>Alaska</td></tr>
<tr><td>US</td><td>AZ</td><td>Arizona</td></tr>
<tr><td>US</td><td>CA</td><td>California</td></tr>
<tr><td>US</td><td>CO</td><td>Colorado</td></tr>
<tr><td>US</td><td>CT</td><td>Connecticut</td></tr>
<tr><td>US</td><td>DE</td><td>Delaware</td></tr>
<tr><td>US</td><td>DC</td><td>District of Columbia</td></tr>
<tr><td>US</td><td>FL</td><td>Florida</td></tr>
<tr><td>US</td><td>GA</td><td>Georgia</td></tr>
<tr><td>US</td><td>HI</td><td>Hawaii</td></tr>
<tr><td>US</td><td>ID</td><td>Idaho</td></tr>
<tr><td>US</td><td>IL</td><td>Illinois</td></tr>
<tr><td>US</td><td>IN</td><td>Indiana</td></tr>
<tr><td>US</td><td>IA</td><td>Iowa</td></tr>
<tr><td>US</td><td>KS</td><td>Kansas</td></tr>
<tr><td>US</td><td>KY</td><td>Kentucky</td></tr>
<tr><td>US</td><td>LA</td><td>Louisiana</td></tr>
<tr><td>US</td><td>ME</td><td>Maine</td></tr>
<tr><td>US</td><td>MD</td><td>Maryland</td></tr>
<tr><td>US</td><td>MA</td><td>Massachusetts</td></tr>
<tr><td>US</td><td>MI</td><td>Michigan</td></tr>
<tr><td>US</td><td>MN</td><td>Minnesota</td></tr>
<tr><td>US</td><td>MS</td><td>Mississippi</td></tr>
<tr><td>US</td><td>MO</td><td>Missori</td></tr>
<tr><td>US</td><td>MT</td><td>Montana</td></tr>
<tr><td>US</td><td>NE</td><td>Nebraska</td></tr>
<tr><td>US</td><td>NH</td><td>New Hampshire</td></tr>
<tr><td>US</td><td>NJ</td><td>New Jersey</td></tr>
<tr><td>US</td><td>NM</td><td>New Mexico</td></tr>
<tr><td>US</td><td>NY</td><td>New York</td></tr>
<tr><td>US</td><td>NC</td><td>North Carolina</td></tr>
<tr><td>US</td><td>ND</td><td>North Dakota</td></tr>
<tr><td>US</td><td>OH</td><td>Ohio</td></tr>
<tr><td>US</td><td>OK</td><td>Oklahoma</td></tr>
<tr><td>US</td><td>OR</td><td>Oregon</td></tr>
<tr><td>US</td><td>PA</td><td>Pennsylvania</td></tr>
<tr><td>US</td><td>RI</td><td>Rhode Island</td></tr>
<tr><td>US</td><td>SC</td><td>South Carolina</td></tr>
<tr><td>US</td><td>SD</td><td>South Dakota</td></tr>
<tr><td>US</td><td>TN</td><td>Tennessee</td></tr>
<tr><td>US</td><td>TX</td><td>Texas</td></tr>
<tr><td>US</td><td>UT</td><td>Utah</td></tr>
<tr><td>US</td><td>VT</td><td>Vermont</td></tr>
<tr><td>US</td><td>VA</td><td>Virginia</td></tr>
<tr><td>US</td><td>WA</td><td>Washington</td></tr>
<tr><td>US</td><td>WV</td><td>West Virginia</td></tr>
<tr><td>US</td><td>WI</td><td>Wisconsin</td></tr>
<tr><td>US</td><td>WY</td><td>Wyoming</td></tr>
<tr><td>US</td><td>AS</td><td>American Samona</td></tr>
<tr><td>US</td><td>GU</td><td>Guam</td></tr>
<tr><td>US</td><td>MP</td><td>Northern Mariana Islands</td></tr>
<tr><td>US</td><td>PR</td><td>Puerto Rico</td></tr>
<tr><td>US</td><td>VI</td><td>Virgin Islands</td></tr>
<tr><td>CA</td><td>AB</td><td>Alberta</td></tr>
<tr><td>CA</td><td>BC</td><td>British Columbia</td></tr>
<tr><td>CA</td><td>MB</td><td>Manitoba</td></tr>
<tr><td>CA</td><td>NB</td><td>New Brunswick</td></tr>
<tr><td>CA</td><td>NL</td><td>Newfoundland and Labrador</td></tr>
<tr><td>CA</td><td>NT</td><td>Northwest Territories</td></tr>
<tr><td>CA</td><td>NS</td><td>Nova Scotia</td></tr>
<tr><td>CA</td><td>NU</td><td>Nunavut</td></tr>
<tr><td>CA</td><td>ON</td><td>Ontario</td></tr>
<tr><td>CA</td><td>PE</td><td>Prince Edward Island</td></tr>
<tr><td>CA</td><td>QC</td><td>Quebec</td></tr>
<tr><td>CA</td><td>SK</td><td>Saskatchewan</td></tr>
<tr><td>CA</td><td>YT</td><td>Yukon</td></tr>
<tr><td>AU</td><td>ACT</td><td>Australia Capital Territory</td></tr>
<tr><td>AU</td><td>NSW</td><td>New South Wales</td></tr>
<tr><td>AU</td><td>NT</td><td>Northern Territory</td></tr>
<tr><td>AU</td><td>QLD</td><td>Queensland</td></tr>
<tr><td>AU</td><td>TAS</td><td>Tasmania</td></tr>
<tr><td>AU</td><td>VIC</td><td>Victoria</td></tr>
<tr><td>AU</td><td>WA</td><td>Western Australia</td></tr>
<tr><td>JP</td><td>HK</td><td>Hokkaido</td></tr>
<tr><td>JP</td><td>AO</td><td>Aomori</td></tr>
<tr><td>JP</td><td>IW</td><td>Iwate</td></tr>
<tr><td>JP</td><td>MY</td><td>Miyagi</td></tr>
<tr><td>JP</td><td>AK</td><td>Akita</td></tr>
<tr><td>JP</td><td>YM</td><td>Yamagata</td></tr>
<tr><td>JP</td><td>FK</td><td>Fukushima</td></tr>
<tr><td>JP</td><td>IB</td><td>Ibaragi</td></tr>
<tr><td>JP</td><td>TC</td><td>Tochigi</td></tr>
<tr><td>JP</td><td>GU</td><td>Gunma</td></tr>
<tr><td>JP</td><td>SI</td><td>Saitama</td></tr>
<tr><td>JP</td><td>CB</td><td>Chiba</td></tr>
<tr><td>JP</td><td>TK</td><td>Tokyo</td></tr>
<tr><td>JP</td><td>KN</td><td>Kanagawa</td></tr>
<tr><td>JP</td><td>NI</td><td>Niigata</td></tr>
<tr><td>JP</td><td>TY</td><td>Toyama</td></tr>
<tr><td>JP</td><td>IS</td><td>Ishikawa</td></tr>
<tr><td>JP</td><td>FI</td><td>Fukui</td></tr>
<tr><td>JP</td><td>YN</td><td>Yamanashi</td></tr>
<tr><td>JP</td><td>NG</td><td>Nagano</td></tr>
<tr><td>JP</td><td>GF</td><td>Gifu</td></tr>
<tr><td>JP</td><td>SZ</td><td>Shizuoka</td></tr>
<tr><td>JP</td><td>AI</td><td>Aichi</td></tr>
<tr><td>JP</td><td>ME</td><td>Mie</td></tr>
<tr><td>JP</td><td>SG</td><td>Shiga</td></tr>
<tr><td>JP</td><td>KT</td><td>Kyoto</td></tr>
<tr><td>JP</td><td>OS</td><td>Osaka</td></tr>
<tr><td>JP</td><td>HG</td><td>Hyogo</td></tr>
<tr><td>JP</td><td>NR</td><td>Nara</td></tr>
<tr><td>JP</td><td>WK</td><td>Wakayama</td></tr>
<tr><td>JP</td><td>TT</td><td>Tottori</td></tr>
<tr><td>JP</td><td>SM</td><td>Shimane</td></tr>
<tr><td>JP</td><td>OK</td><td>Okayama</td></tr>
<tr><td>JP</td><td>HR</td><td>Hiroshima</td></tr>
<tr><td>JP</td><td>YG</td><td>Yamaguchi</td></tr>
<tr><td>JP</td><td>TS</td><td>Tokushima</td></tr>
<tr><td>JP</td><td>KG</td><td>Kagawa</td></tr>
<tr><td>JP</td><td>EH</td><td>Ehime</td></tr>
<tr><td>JP</td><td>KC</td><td>Kouchi</td></tr>
<tr><td>JP</td><td>FO</td><td>Fukuoka</td></tr>
<tr><td>JP</td><td>SA</td><td>Saga</td></tr>
<tr><td>JP</td><td>NS</td><td>Nagasaki</td></tr>
<tr><td>JP</td><td>KM</td><td>Kumamoto</td></tr>
<tr><td>JP</td><td>OI</td><td>Ooita</td></tr>
<tr><td>JP</td><td>MZ</td><td>Miyazaki</td></tr>
<tr><td>JP</td><td>KS</td><td>Kagoshima</td></tr>
<tr><td>AU</td><td>SA</td><td>South Australia</td></tr>
<tr><td>US</td><td>AR</td><td>Arkansas</td></tr>
<tr><td>US</td><td>AE</td><td>Armed Forces Africa</td></tr>
<tr><td>US</td><td>AA</td><td>Armed Forces Americas</td></tr>
<tr><td>US</td><td>AP</td><td>Armed Forces Pacific</td></tr>
<tr><td>US</td><td>NV</td><td>Nevada</td></tr>
</table>

</p>
</article>

<hr class="uk-article-divider">
<article id="tenth-1" class="uk-article">
    <h1  class="uk-article-title">附录3.订单状态代码说明</h1>
<table class="uk-table uk-table-hover uk-table-striped">
<thead>
<tr>
<th>订单状态代码</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<volist name=":order_status()" id="vo">
<tr><td>{$key}</td><td>{$vo}</td></tr>
</volist>
</tboby>
</table>	 
</article>
</p>
</div>
</div>

</div>
 <div class="tm-section-20"></div>